This disclosure relates to providing an interface between a client device and a server-based application programming interface (API).
An API is used in software engineering to access and communicate with one or more software programs. For example, an API can define a particular set of rules and specifications that a software program uses to communicate with another software program or hardware device. In this way, an API provides an interface between software programs, similar to the way a user interface facilitates interaction between a human and a computer.
An API can be created for an application, library, operating system, or the like, as a way of defining their vocabulary and resource request conventions (for example, function-calling conventions). An API can include specifications for routines, data structures, object classes, and protocols used to communicate between a consumer program and an implementer program of the API.
An API can act as an abstraction that describes an interface for an interaction with a set of functions used by components of a software program. The software providing the functions described by an API is said to be an implementation of the API.
The term “API” can refer to a complete interface, a single function, or a set of APIs. Therefore, the scope of its meaning is usually determined by the context of its usage.
There are approaches for representing an interface between a web service and an API. These approaches use technology such as XML (eXtended Markup Language) and WSDL (Web Services Description Language). Other technologies such as JSON (JavaScript Object Notation) and HTTPS (Hypertext Transfer Protocol Secure) offer efficient and effective ways to represent and transmit metadata about an API in machine-readable format, in order to facilitate development of client libraries, IDE plug-ins, and other tools for interacting with APIs.